<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
  <meta name="description" content="API docs for the cancel method from the StreamSubscription class, for the Dart programming language.">
  <title>cancel method - StreamSubscription class - dart:async library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">
  
</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">shake</a></li>
    <li><a href="dart-async/dart-async-library.html">dart:async</a></li>
    <li><a href="dart-async/StreamSubscription-class.html">StreamSubscription<span class="signature">&lt;<wbr><span class="type-parameter">T</span>&gt;</span></a></li>
    <li class="self-crumb">cancel abstract method</li>
  </ol>
  <div class="self-name">cancel</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div id="dartdoc-sidebar-left" class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="index.html">shake</a></li>
      <li><a href="dart-async/dart-async-library.html">dart:async</a></li>
      <li><a href="dart-async/StreamSubscription-class.html">StreamSubscription<span class="signature">&lt;<wbr><span class="type-parameter">T</span>&gt;</span></a></li>
      <li class="self-crumb">cancel abstract method</li>
    </ol>
    
    <h5>StreamSubscription class</h5>
    <ol>
      <li class="section-title"><a href="dart-async/StreamSubscription-class.html#constructors">Constructors</a></li>
      <li><a href="dart-async/StreamSubscription/StreamSubscription.html">StreamSubscription</a></li>
    
      <li class="section-title">
        <a href="dart-async/StreamSubscription-class.html#instance-properties">Properties</a>
      </li>
      <li><a href="dart-async/StreamSubscription/isPaused.html">isPaused</a></li>
      <li class="inherited"><a href="dart-core/Object/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="dart-core/Object/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title"><a href="dart-async/StreamSubscription-class.html#instance-methods">Methods</a></li>
      <li><a href="dart-async/StreamSubscription/asFuture.html">asFuture</a></li>
      <li><a href="dart-async/StreamSubscription/cancel.html">cancel</a></li>
      <li><a href="dart-async/StreamSubscription/onData.html">onData</a></li>
      <li><a href="dart-async/StreamSubscription/onDone.html">onDone</a></li>
      <li><a href="dart-async/StreamSubscription/onError.html">onError</a></li>
      <li><a href="dart-async/StreamSubscription/pause.html">pause</a></li>
      <li><a href="dart-async/StreamSubscription/resume.html">resume</a></li>
      <li class="inherited"><a href="dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="dart-core/Object/toString.html">toString</a></li>
    
      <li class="section-title inherited"><a href="dart-async/StreamSubscription-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="dart-core/Object/operator_equals.html">operator ==</a></li>
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

  <div id="dartdoc-main-content" class="col-xs-12 col-sm-9 col-md-8 main-content">
      <div><h1>cancel method</h1></div>

    <section class="multi-line-signature">
      <span class="returntype"><a href="dart-async/Future-class.html">Future</a></span>
            <span class="name ">cancel</span>
(<wbr>)
      
    </section>
    <section class="desc markdown">
      <p>Cancels this subscription.</p>
<p>After this call, the subscription no longer receives events.</p>
<p>The stream may need to shut down the source of events and clean up after
the subscription is canceled.</p>
<p>Returns a future that is completed once the stream has finished
its cleanup.</p>
<p>For historical reasons, may also return <code>null</code> if no cleanup was necessary.
Returning <code>null</code> is deprecated and should be avoided.</p>
<p>Typically, futures are returned when the stream needs to release resources.
For example, a stream might need to close an open file (as an asynchronous
operation). If the listener wants to delete the file after having
canceled the subscription, it must wait for the cleanup future to complete.</p>
<p>A returned future completes with a <code>null</code> value.
If the cleanup throws, which it really shouldn't, the returned future
completes with that error.</p>
    </section>
    
    <section class="summary source-code" id="source">
      <h2><span>Implementation</span></h2>
      <pre class="language-dart"><code class="language-dart">Future cancel();</code></pre>
    </section>

  </div> <!-- /.main-content -->

  <div id="dartdoc-sidebar-right" class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    shake 0.1.0
  </span>

  
</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>


</body>

</html>
